/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Funciones;

import Accesodatos.Conexion;
import Clases.Paciente;
import java.sql.ResultSet;
import sistema.clinica.riobamba.desktop.SistemaClinicaRiobambaDesktop;

/**
 *
 * @author Gis
 */
public class FuncionesPaciente {

    public static Paciente obtenerPacienteCI(String cedula){
        try {
            Conexion con = Conexion.getInstance();
            Paciente paciente = new Paciente();
            String sql = String.format("select p.id_p, p.nombres, p.apellidos, p.contrasena from paciente as p where p.ci = '%s' ", cedula);
            ResultSet rs = con.ejecutarQuery(sql);
            while (rs.next()) {
                paciente = new Paciente(rs.getInt(1), cedula, rs.getString(2), rs.getString(3),rs.getString(4));
            }
            //con.desconectar();
            return paciente;
        } catch (Exception ex) {
            SistemaClinicaRiobambaDesktop.setMensajeError("Error al consultar el paciente. Revise su conexión a internet");
            return null;
        }
    }

    public static boolean modificarEstado(Paciente paciente){
        boolean resultado;
        resultado = false;
        Conexion con;
        try {
            String sql;
            sql = String.format("select `clinica riobamba`.`actualizar_paciente_estado`('%s',%B)", paciente.getId_p(), paciente.getEstado());
            con = Conexion.getInstance();
            ResultSet rs = con.ejecutarQuery(sql);
            rs.next();
            resultado = rs.getBoolean(1);
            //con.desconectar();
            return resultado;
        } catch (Exception ex) {
            SistemaClinicaRiobambaDesktop.setMensajeError("Error al modificar el estado del paciente, revise su conexión a Internet");
            return false;
        }        
    }
    
    public static Paciente login(Paciente p) {        
        try {
            Paciente model = obtenerPacienteCI(p.getCi());
            if (model != null) {
                if (!p.getContrasena().equals(model.getContrasena())) {
                    model = null;
                }
            }
            return model;
        } catch (Exception ex) {
            SistemaClinicaRiobambaDesktop.setMensajeError("Error al autenticar al paciente, Revise su conexión a Internet");
            return null;
        }
    }

}
